/** 点检周期 */
export enum CycleType {
  小时 = 'H',
  天 = 'D',
  周 = 'W',
  月 = 'M',
  年 = 'Y'
}
export const CycleTypeObj: ValueEnumMap<string> = new Map([
  [CycleType.小时, { text: '小时' }],
  [CycleType.天, { text: '天' }],
  [CycleType.周, { text: '周' }],
  [CycleType.月, { text: '月' }],
  [CycleType.年, { text: '年' }]
]);

/** 状态 审核中 审核通过 审核驳回 */
export enum AuditStatus {
  审核中 = 1,
  审核通过 = 2,
  审核驳回 = 3
}
export const AuditStatusObj: ValueEnumMap<number> = new Map([
  [
    AuditStatus.审核驳回,
    {
      text: '审核驳回',
      color: 'red'
    }
  ],
  [
    AuditStatus.审核中,
    {
      text: '审核中',
      color: 'orange'
    }
  ],
  [
    AuditStatus.审核通过,
    {
      text: '审核通过',
      color: 'green'
    }
  ]
]);

/** 状态 待处理 已处理 */
export enum Status {
  待处理 = 1,
  已处理 = 2
}
export const StatusObj: ValueEnumMap<number> = new Map([
  [
    Status.待处理,
    {
      text: '待处理',
      color: 'orange'
    }
  ],
  [
    Status.已处理,
    {
      text: '已处理',
      color: 'green'
    }
  ]
]);

/** 设备运行状态 停止 运行 */
export enum RunStatus {
  停止 = '停止',
  运行 = '运行'
}
export const RunStatusObj: ValueEnumMap<string> = new Map([
  [
    RunStatus.停止,
    {
      text: '停止',
      color: 'red'
    }
  ],
  [
    RunStatus.运行,
    {
      text: '运行',
      color: 'green'
    }
  ]
]);

/** 状态 待检查 已检查 */
export enum CheckStatus {
  待检查 = 1,
  已检查 = 2
}
export const CheckStatusObj: ValueEnumMap<number> = new Map([
  [
    CheckStatus.待检查,
    {
      text: '待检查',
      color: 'orange'
    }
  ],
  [
    CheckStatus.已检查,
    {
      text: '已检查',
      color: 'green'
    }
  ]
]);

/** 入库审核状态 待提交审核 待管理部门审核 待使用部门审核 待财务部门审核 审核通过 审核驳回 */
export enum StorageCheckStatus {
  待提交审核 = 10,
  待管理部门审核 = 20,
  待使用部门审核 = 30,
  待财务部门审核 = 40,
  审核通过 = 50,
  审核驳回 = 60
}
export const StorageCheckStatusObj: ValueEnumMap<number> = new Map([
  [
    StorageCheckStatus.待提交审核,
    {
      text: '待提交审核',
      color: 'orange'
    }
  ],
  [
    StorageCheckStatus.待管理部门审核,
    {
      text: '审核中',
      color: 'orange'
    }
  ],
  [
    StorageCheckStatus.待使用部门审核,
    {
      text: '审核中',
      color: 'orange'
    }
  ],
  [
    StorageCheckStatus.待财务部门审核,
    {
      text: '审核中',
      color: 'orange'
    }
  ],
  [
    StorageCheckStatus.审核驳回,
    {
      text: '审核驳回',
      color: 'red'
    }
  ],
  [
    StorageCheckStatus.审核通过,
    {
      text: '审核通过',
      color: 'green'
    }
  ]
]);

/** 缺陷状态:
 *  待设备工程师确认维修班组长
 *  待维修部组长确认是否能内修
 *  待设备工程师确认维修措施
 *  待维修班组长确认维修成员
 *  待审核
 *  审核驳回
 *  挂起
 *  待申请工作票
 *  待发起验收
 *  待验收
 *  验收驳回
 *  已完成
 * */
export enum DefectStatus {
  待设备工程师确认维修班组长 = 10,
  待维修部组长确认是否能内修 = 11,
  待设备工程师确认维修措施 = 12,
  待维修班组长确认维修成员 = 13,
  待审核 = 30,
  审核驳回 = 31,
  挂起 = 32,
  待申请工作票 = 40,
  待发起验收 = 50,
  待验收 = 51,
  验收驳回 = 52,
  已完成 = 99
}
export const DefectStatusObj: ValueEnumMap<number> = new Map([
  [
    DefectStatus.待设备工程师确认维修班组长,
    {
      text: '待确认',
      color: 'orange'
    }
  ],
  [
    DefectStatus.待维修部组长确认是否能内修,
    {
      text: '待确认',
      color: 'orange'
    }
  ],
  [
    DefectStatus.待设备工程师确认维修措施,
    {
      text: '待确认',
      color: 'orange'
    }
  ],
  [
    DefectStatus.待维修班组长确认维修成员,
    {
      text: '待确认',
      color: 'orange'
    }
  ],
  [
    DefectStatus.待审核,
    {
      text: '待审核',
      color: 'orange'
    }
  ],
  [
    DefectStatus.审核驳回,
    {
      text: '审核驳回',
      color: 'red'
    }
  ],
  [
    DefectStatus.挂起,
    {
      text: '挂起',
      color: 'red'
    }
  ],
  [
    DefectStatus.待申请工作票,
    {
      text: '待申请工作票',
      color: 'orange'
    }
  ],
  [
    DefectStatus.待发起验收,
    {
      text: '待发起验收',
      color: 'orange'
    }
  ],
  [
    DefectStatus.待验收,
    {
      text: '待验收',
      color: 'orange'
    }
  ],
  [
    DefectStatus.验收驳回,
    {
      text: '验收驳回',
      color: 'red'
    }
  ],
  [
    DefectStatus.已完成,
    {
      text: '已完成',
      color: 'green'
    }
  ]
]);

//统一缺陷管理状态 和 工作票状态 枚举
export enum DefectAndWorkTicketStatus {
  缺陷草稿 = '缺陷草稿',
  缺陷待确认 = '缺陷待确认',
  缺陷打回 = '缺陷打回',
  缺陷待审核 = '缺陷待审核',
  缺陷审核驳回 = '缺陷审核驳回',
  缺陷挂起 = '缺陷挂起',
  缺陷待申请工作票 = '缺陷待申请工作票',
  缺陷待发起验收 = '缺陷待发起验收',
  缺陷待验收 = '缺陷待验收',
  缺陷验收驳回 = '缺陷验收驳回',
  缺陷已完成 = '缺陷已完成',

  工作票草稿 = '工作票草稿',
  工作票待确认 = '工作票待确认',
  工作票已确认 = '工作票已确认',
  工作票打回 = '工作票打回',
  工作票待审核 = '工作票待审核',
  工作票挂起 = '工作票挂起',
  工作票待申请工作票 = '工作票待申请工作票',
  工作票待发起验收 = '工作票待发起验收',
  工作票验收驳回 = '工作票验收驳回',
  工作票待验收 = '工作票待验收',
  工作票已完成 = '工作票已完成',
  工作票作废 = '工作票作废'
}
export const DefectAndWorkTicketStatusObj: ValueEnumMap<string> = new Map([
  [
    DefectAndWorkTicketStatus.缺陷草稿,
    {
      text: '(缺陷)草稿',
      color: 'orange'
    }
  ],
  [
    DefectAndWorkTicketStatus.缺陷待确认,
    {
      text: '(缺陷)待确认',
      color: 'gold'
    }
  ],
  [
    DefectAndWorkTicketStatus.缺陷打回,
    {
      text: '(缺陷)打回',
      color: 'red'
    }
  ],
  [
    DefectAndWorkTicketStatus.缺陷待审核,
    {
      text: '(缺陷)待审核',
      color: 'gold'
    }
  ],
  [
    DefectAndWorkTicketStatus.缺陷审核驳回,
    {
      text: '(缺陷)审核驳回',
      color: 'red'
    }
  ],
  [
    DefectAndWorkTicketStatus.缺陷挂起,
    {
      text: '(缺陷)挂起',
      color: 'red'
    }
  ],
  [
    DefectAndWorkTicketStatus.缺陷待申请工作票,
    {
      text: '(缺陷)待申请工作票',
      color: 'magenta'
    }
  ],
  [
    DefectAndWorkTicketStatus.缺陷待发起验收,
    {
      text: '(缺陷)待发起验收',
      color: 'volcano'
    }
  ],
  [
    DefectAndWorkTicketStatus.缺陷待验收,
    {
      text: '(缺陷)待验收',
      color: 'volcano'
    }
  ],
  [
    DefectAndWorkTicketStatus.缺陷验收驳回,
    {
      text: '(缺陷)验收驳回',
      color: 'red'
    }
  ],
  [
    DefectAndWorkTicketStatus.缺陷已完成,
    {
      text: '(缺陷)已完成',
      color: 'success'
    }
  ],
  [
    DefectAndWorkTicketStatus.工作票草稿,
    {
      text: '(工作票)草稿',
      color: 'cyan'
    }
  ],
  [
    DefectAndWorkTicketStatus.工作票待确认,
    {
      text: '(工作票)待确认',
      color: 'blue'
    }
  ],
  [
    DefectAndWorkTicketStatus.工作票已确认,
    {
      text: '(工作票)已确认',
      color: 'blue'
    }
  ],
  [
    DefectAndWorkTicketStatus.工作票打回,
    {
      text: '(工作票)打回',
      color: 'red'
    }
  ],
  [
    DefectAndWorkTicketStatus.工作票待审核,
    {
      text: '(工作票)待审核',
      color: 'geekblue'
    }
  ],
  [
    DefectAndWorkTicketStatus.工作票挂起,
    {
      text: '(工作票)挂起',
      color: 'geekblue'
    }
  ],
  [
    DefectAndWorkTicketStatus.工作票待申请工作票,
    {
      text: '(工作票)待申请工作票',
      color: 'processing'
    }
  ],
  [
    DefectAndWorkTicketStatus.工作票待发起验收,
    {
      text: '(工作票)待发起验收',
      color: 'processing'
    }
  ],
  [
    DefectAndWorkTicketStatus.工作票验收驳回,
    {
      text: '(工作票)验收驳回',
      color: 'processing'
    }
  ],
  [
    DefectAndWorkTicketStatus.工作票待验收,
    {
      text: '(工作票)待验收',
      color: 'processing'
    }
  ],
  [
    DefectAndWorkTicketStatus.工作票已完成,
    {
      text: '(工作票)已完成',
      color: 'green'
    }
  ],
  [
    DefectAndWorkTicketStatus.工作票作废,
    {
      text: '(工作票)作废',
      color: 'processing'
    }
  ]
]);
